A Domain Name System is a hierarchical distributed naming system that is utilized by network devices to locate services or other network devices through the use of a domain name. As commonly known, a “domain name” is an alphanumeric string that represents an Internet Protocol (IP) resource such as a server hosting a web site for example. An important function of domain names is to provide users with an easily recognizable and memorable name for the IP resource instead of using a forgettable numeric-based address.
Domain names are usually organized into various sub-domain levels, including a top-level domain (e.g. com, org, net) along with a second-level domain being the wording directly to the left of the top-level domain name. For instance, “example.com” features the second-level domain “example” separated from the top-level domain “com” by a delimiter “.”.
Typically, a Domain Name System (DNS) features a centralized DNS server that is adapted to translate a received domain name into a corresponding IP address. Furthermore, the DNS server is responsible for storing DNS records for a domain name (e.g. address records, name server (NS) records, and mail exchanger (MX) records) within an internal database and answering queries against the database. Therefore, the addressing information is used for the purpose of locating services as well as other network devices.
Over a decade ago, a derivative DNS scheme was developed. Referred to as Multicast Domain Name System (mDNS), this communication protocol enables the use of DNS programming interfaces and packet formats, but operates without the need for a dedicated DNS server. The conventional mDNS protocol is devised to operate for mDNS devices on a shared local area network, wherein all devices talk to each other directly using a specified mDNS multicast group address. This conventional functionality is limited to a single subnet, where all mDNS capable devices can communicate directly with each other only within a subnet.
Currently, mDNS fails to provide any device classifications. Therefore, as the mDNS proxy supports multicast mDNS packets across subnet boundaries, the large number of mDNS records for storage and maintenance would become a memory and processing bottleneck. An improved mechanism for managing mDNS records through device and service classification is needed.